昨天 — [Day-10] 繁體中文的 Dependency Parsing 方法 的內容中有提到,現階段我選擇以 Stanza 針對 UD Chinese GSD 所訓練出的模型來產生繁體中文新聞文章的 Dependency parsing 結構。這個 UD Chinese GSD 是由 Google 表著與轉換的繁體中文 Universal Dependencies Treebank。
之所以選擇在分析意見句與其 Dependency Parsing 結構間的關係前,先弄懂 stanza 在 Dependency Parsing 任務上的 pipeline,是因為希望之後遇上 Dependency Parsing 的結果不合理時,可以逐個檢查 pipeline 中的流程輸出,並找出出問題的環節。
在 Stanza Dependency Parsing 頁面中有描述到,dependency parsing 這一任務是由名為 DepparseProcessor
的 Python class 所執行。而執行 DepparseProcessor
則需要具備 TokenizeProcessor
、MWTProcessor
、POSProcessor
和 LemmaProcessor
這幾個各自負責不同任務的 Python class。也就是說使用 GSD 模型的 Stanza pipeline會依照以下步驟對輸入文字進行處理:
Tokenization
Multi-Word Token (MWT) Expansion
Note: Only languages with multi-word tokens (MWT), such as German or French, require MWTProcessor; other languages, such as English or Chinese, do not support this processor in the pipeline.
Part-of-Speech & Morphological Features
Lemmatization
Dependency Parsing
id: 1 word: 媒體 head id: 17 head: 表示 deprel: nsubj
id: 2 word: 關注 head id: 17 head: 表示 deprel: advcl
id: 3 word: 數位 head id: 4 head: 部 deprel: compound
id: 4 word: 部 head id: 5 head: 部長 deprel: nmod
id: 5 word: 部長 head id: 13 head: 看法 deprel: nmod
id: 6 word: 唐 head id: 5 head: 部長 deprel: appos
id: 7 word: 鳳 head id: 6 head: 唐 deprel: flat:name
id: 8 word: 對 head id: 13 head: 看法 deprel: case
id: 9 word: 數位 head id: 13 head: 看法 deprel: nmod
id: 10 word: 中介 head id: 13 head: 看法 deprel: nmod
id: 11 word: 服務 head id: 12 head: 法 deprel: compound
id: 12 word: 法 head id: 13 head: 看法 deprel: nmod
id: 13 word: 看法 head id: 17 head: 表示 deprel: obl
...
那麼什麼是 Universal Dependencies? UD Chinese GSD 又包含了什麼內容?將在接下來的兩個段落帶來我個人整理的資訊。
本段內容參考自 Universal Dependencies、Introduction
Universal Dependencies (UD) 是一個框架,用於不同人類語言對語法(詞性、形態特徵和句法依賴)進行一致性的註釋,其目標是促進多語言解析器開發、跨語言學習和從語言類型學的角度進行解析研究。
註釋方案(annotation scheme)基於 Stanford dependencies(de Marneffe 等人,2006、2008、2014)、Google universal part-of-speech tags(Petrov 等人,2012 年)和 Interset interlingua for morphosyntactic tagsets(Zeman,2008)。
UD 是一個開放的社區項目,擁有 300 多名貢獻者,以 100 多種語言生成近 200 個樹庫。
UD 在設計上有下列六項特點:
UD 的標註方式紀錄在 UD Guidelines
本段內容參考自 UD Chinese GSDhttps://universaldependencies.org/treebanks/zh_gsd/index.html
UD Chinese GSD 是由 Google 表著與轉換的繁體中文 Universal Dependencies Treebank。
由於繁體中文中,單詞與單詞間沒有以空白隔開,所以如果要以單詞而非字為單位做 Tokenization 時,就需要先做Word Segmentation ,用在繁體中文上又叫做中文斷詞。要達到良好的中文斷詞需要大量的語料庫與良好的演算法或模型。
UD Chinese GSD 所使用的語料庫中包含了:
- 4997 sentences and 123291 tokens
- 122962 tokens (100%) that are not followed by a space
- (DOES NOT contain words with spaces)
另外,UD Chinese GSD 中的標註項目包含下列幾項:
POS Tag 用於標記單詞的詞性
UD Chinese GSD 的 POS tag 又在細分成下面兩種:
- UPOS ,在UD Chinese GSD 中以 non-UD style 手動標註,再經由自動轉換成 UD style
- XPOS,在UD Chinese GSD 中手動標註
POS Tags 的種類:
ADJ – ADP – ADV – AUX – CCONJ – DET – NOUN – NUM – PART – PRON – PROPN – PUNCT – SYM – VERB – X
以上這些 POS Tags 的詳細說明在 Universal POS tags
由於 Universal POS tags 在動詞上只會標記出 VERB 一個類別,而 CKIP Transformers 在 Part-of-Speech Tagging 詞性標記任務中的動詞有做進一步的分類,例如:VE、VA 等不同類型的動詞標記,所以後續會搭配使用。
Relation 標記是 Dependency parsing 中,詞與詞間的關係標註(常表示成箭頭指向符號的標註)
Relations 在UD Chinese GSD 中以 non-UD style 手動標註,再經由自動轉換成 UD style
Relations 標注的種類:
acl – acl:relcl – advcl – advmod – amod – appos – aux – aux:pass – case – cc – ccomp – clf – compound – compound:ext – conj – cop – csubj – csubj:pass – det – discourse – discourse:sp – dislocated – flat:foreign – flat:name – iobj – mark – mark:adv – mark:rel – nmod – nmod:tmod – nsubj – nsubj:pass – nummod – obj – obl – obl:patient – orphan – parataxis – punct – reparandum – root – vocative – xcomp
這些 Relations 標注對於意見句結構分析任務相當重要,詳細的說明在 Universal Dependency Relations
在UD Chinese GSD 的標注過程中由程式分配,有一些手動更正,但不是完整的手動驗證。
Features 的種類:
Aspect – Case – Number – NumType – PartType – Person – Polarity – Voice
以下是關於 Feature 標註的說明:
在 UD Chinese GSD 的標注過程中由程式分配,無手動驗證。
寫的有些匆忙,如果文章有錯誤,歡迎指正~